#ifndef _BSP_188_H
#define _BSP_188_H

#include "gd32f4xx.h"
#include "stdio.h"
#include "systick.h"

#define A3	(1<<0)
#define B3	(1<<1)
#define C3	(1<<2)
#define D3	(1<<3)
#define E3	(1<<4)
#define F3	(1<<5)
#define G3	(1<<6)

#define A2	(1<<7)
#define B2	(1<<8)
#define C2	(1<<9)
#define D2	(1<<10)
#define E2	(1<<11)
#define F2	(1<<12)
#define G2	(1<<13)

#define B1	(1<<14)
#define C1	(1<<15)

#define K1	(1<<16)
#define K2	(1<<17)
//LED 9 11 13 15 7
//LED1
#define LED1_RCU  RCU_GPIOE
#define LED1_PORT GPIOE
#define LED1_PIN  GPIO_PIN_9
//LED2
#define LED2_RCU  RCU_GPIOE
#define LED2_PORT GPIOE
#define LED2_PIN  GPIO_PIN_11
//LED3
#define LED3_RCU  RCU_GPIOE
#define LED3_PORT GPIOE
#define LED3_PIN  GPIO_PIN_13
//LED4
#define LED4_RCU  RCU_GPIOE
#define LED4_PORT GPIOE
#define LED4_PIN  GPIO_PIN_15
//LED5
#define LED5_RCU  RCU_GPIOE
#define LED5_PORT GPIOE
#define LED5_PIN  GPIO_PIN_7

#define LED1_OUT(val) gpio_mode_set(LED1_PORT, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, LED1_PIN);gpio_bit_write(LED1_PORT, LED1_PIN, val)
#define LED1_HZ 			gpio_mode_set(LED1_PORT, GPIO_MODE_INPUT, GPIO_PUPD_NONE, LED1_PIN)
	
#define LED2_OUT(val) gpio_mode_set(LED2_PORT, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, LED2_PIN);gpio_bit_write(LED2_PORT, LED2_PIN, val)
#define LED2_HZ 			gpio_mode_set(LED2_PORT, GPIO_MODE_INPUT, GPIO_PUPD_NONE, LED2_PIN)

#define LED3_OUT(val) gpio_mode_set(LED3_PORT, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, LED3_PIN);gpio_bit_write(LED3_PORT, LED3_PIN, val)
#define LED3_HZ 			gpio_mode_set(LED3_PORT, GPIO_MODE_INPUT, GPIO_PUPD_NONE, LED3_PIN)

#define LED4_OUT(val) gpio_mode_set(LED4_PORT, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, LED4_PIN);gpio_bit_write(LED4_PORT, LED4_PIN, val)
#define LED4_HZ 			gpio_mode_set(LED4_PORT, GPIO_MODE_INPUT, GPIO_PUPD_NONE, LED4_PIN)

#define LED5_OUT(val) gpio_mode_set(LED5_PORT, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, LED5_PIN);gpio_bit_write(LED5_PORT, LED5_PIN, val)
#define LED5_HZ 			gpio_mode_set(LED5_PORT, GPIO_MODE_INPUT, GPIO_PUPD_NONE, LED5_PIN)

#define LED_ALL_HZ 		LED1_HZ;LED2_HZ;LED3_HZ;LED4_HZ;LED5_HZ



void bsp_188_init();

void bsp_188_show();

void bsp_188_num(uint8_t num);

void bsp_188_k1(FlagStatus set);

void bsp_188_k2(FlagStatus set);

#endif